/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package estructurassa.controladores.menuPrincipal;

import estructurassa.controladores.Controlador;
import estructurassa.controladores.ControladorPrincipal;
import estructurassa.controladores.FabricaControladores;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JInternalFrame;

/**
 *
 * @author diego
 */
public class ControladorMenuPrincipal implements Controlador {

    PantallaMenuPrincipal2 pantalla;

    public ControladorMenuPrincipal() {

        pantalla = new PantallaMenuPrincipal2();

        pantalla.getBtnABMProducto().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_PRODUCTO_TERMINADO);
            }
        });

        pantalla.getBtnABMMaterial().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_MATERIAL);
            }
        });

        pantalla.getBtnABMCentroTrabajo().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_CENTRO_TRABAJO);
            }
        });
        pantalla.getBtnABMOrdenTrabajo().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_ORDEN_PRODUCCION);
            }
        });
        pantalla.getBtnABMTrabajador().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_TRABAJADOR);
            }
        });
        pantalla.getBtnABMProveedores().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_PROVEEDOR);
            }
        });

        pantalla.getBtnMaquinaria().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_MAQUINARIA);
            }
        });
        pantalla.getBtnCostosFijos().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_COSTOS_FIJOS);
            }
        });
        pantalla.getBtnConsultarCostosVariables().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.CONSULTAR_COSTOS_VARIABLES);
            }
        });
        pantalla.getBtnProductoEstandar().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_PRODUCTO_ESTANDAR);
            }
        });
        pantalla.getBtnStock().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.STOCK);
            }
        });
        
        pantalla.getBtnOrdenesCompra().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ORDENES_COMPRA);
            }
        });
        pantalla.getBotonPuntoDeEquilibrio().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.PUNTO_DE_EQUILIBRIO);
            }
        });
        
        pantalla.getBtnPrediccionDemanda().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.PREDICCION_DEM_PRO_PON);
            }
        });
        
        pantalla.getBtnABMDemanda().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.ABM_DEMANDA);
            }
        });
        
        pantalla.getBtnParametrosDemanda().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                iniciarControlador(FabricaControladores.controladoresNombre.PARAMETROS_DEMANDA);
            }
        });
    }

    @Override
    public JInternalFrame getPantalla() {
        return pantalla;
    }

    @Override
    public void iniciar() {
        ((ControladorPrincipal) FabricaControladores.getInstance().getControlador(FabricaControladores.controladoresNombre.PRINCIPAL)).agregarPantallaInterna(pantalla);
    }

    private void iniciarControlador(FabricaControladores.controladoresNombre nombre) {
        FabricaControladores.getInstance().getControlador(nombre).iniciar();

    }
}
